/*
  角色管理相关的API请求函数
*/
import request from '@/utils/request'

const api_name = '/admin/system/role'

export default {

  /*
    获取角色分页列表(带搜索)
  */
  getPageList(page, limit, searchObj) {
    return request({
      // 接口路径
      url: `${api_name}/${page}/${limit}`,
      // 请求方式
      method: 'get',
      // 参数
      params: searchObj
    })
  },

  /**
   角色添加
   */
  save(role) {
    return request({
      url: `${api_name}/`,
      method: 'post',
      data: role
    })
  },

  // 编辑
  getById(id) {
    return request({
      url: `${api_name}/${id}`,
      method: 'get'
    })
  },

  // 更新
  updateById(role) {
    return request({
      url: `${api_name}/`,
      method: 'put',
      data: role
    })
  },

  /**
   角色删除
   */
  removeById(id) {
    return request({
      url: `${api_name}/${id}`,
      method: 'delete'
    })
  },

  /**
   批量删除
   */
  batchRemove(idList) {
    return request({
      url: `${api_name}/batch`,
      method: `delete`,
      data: idList
    })
  },

  // 根据用户id查询用户已分配的角色
  getRolesByUserId(userId) {
    return request({
      url: `${api_name}/assign/${userId}`,
      method: 'get'
    })
  },

  // 分配角色
  assignRoles(assginRoleVo) {
    return request({
      url: `${api_name}/assign`,
      method: 'post',
      data: assginRoleVo
    })
  }

}
